﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Demo.Model.Custom;
using System.Web;

namespace Demo.Framework.Helper
{
    public static class SessionHelper
    {
        public static T SetSession<T>(EnumSessionNames sessionName, T obj)
        {
            HttpContext.Current.Session[sessionName.ToString()] = obj;
            return obj;
        }

        public static T GetSession<T>(EnumSessionNames sessionName)
        {
            string sessionNameString = sessionName.ToString();
            if (HttpContext.Current.Session[sessionNameString] == null)
                return default(T);
            return (T)HttpContext.Current.Session[sessionNameString];
        }

        public static void ClearSession(EnumSessionNames sessionName)
        {
            HttpContext.Current.Session.Remove(sessionName.ToString());
        }

        public static bool IsNull(EnumSessionNames sessionName)
        {
            return HttpContext.Current.Session[sessionName.ToString()] == null;
        }

        public static T SetSession<T>(string sessionName, T obj)
        {
            HttpContext.Current.Session[sessionName.ToString()] = obj;
            return obj;
        }

        public static T GetSession<T>(string sessionName)
        {
            string sessionNameString = sessionName.ToString();
            if (HttpContext.Current.Session[sessionNameString] == null)
                return default(T);
            return (T)HttpContext.Current.Session[sessionNameString];
        }

        public static void ClearSession(string sessionName)
        {
            HttpContext.Current.Session.Remove(sessionName.ToString());
        }
    }
}
